Instant messaging is commonly used for exchanging text messages between two parties that are connected to a network at the same time. In order to perform the instant messaging, a client program at a user's communication entity (such as a personal computer, or a cell phone) connects to an instant messaging service (such as MSN messenger, iTalk, GoogleTalk, etc . . . ) over a network. The instant messaging service allows the two communication entities to establish a communication session for sending text back and forth in substantially real time.
Instant messaging is known to be a fast, easy and non-intrusive form of communication between individuals, and is becoming increasingly popular among young people, and even in some corporate environments. There are many advantages to communicating via instant messaging. For example, as opposed to email, instant messaging permits almost immediate feedback, and two-way exchange, with another party. In addition, instant messaging facilitates the quick exchange of information, such as Uniform Resource Locators (URLs) or document snippets, that cannot easily be conveyed via other forms of real-time communication, such as phone conversations. A person involved in an instant messaging text conversation can still perform other operations, such as checking email, browsing the web, or working on a word processing file, at the same time that the person is conducting the instant messaging session.
In addition, in the case of text messaging, a user can conduct multiple instant messaging sessions at the same time. In most cases, the user will have a different chat window open for each one of the text sessions in which the user is involved. When one window is active, the user is able to type and send a message to the contact associated with that window. Meanwhile, the other inactive windows are still able to receive incoming text messages, which the user can easily switch to, in order to carry on multiple concurrent text sessions.
A deficiency with existing instant messaging systems is that it takes time for the user to type in an outgoing message. This can be time consuming for the user who is typing the message, and boring for the person who is waiting to receive the message.
In light of the above, it can be seen that there is a need in the industry for an improved system for enabling communication entities to communicate in an instant messaging environment.